<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script>
        //将基本数据类型作为函数的参数，不会影响外部变量的
        function fn(a){//a=78
            a=100;//a=100
        }
        var x=78;
        fn(x);//fn(78);传递的数值，按值传递
        console.log(x);

        var y=30;
        function fn2(m){//m=60
            m=890;//m=890
        }
        fn2(y*2);//fn2(60)
        console.log(y);

        //将引用数据类型作为函数的参数

        function Student(name,age,salary){
            this.name=name;
            this.age=age;
            this.salary=salary;
        }
        function fn3(obj){//将obj看成是对象
            obj.name="洋洋";
            obj.age=20;
            obj.salary=8000;
        }
        var stu=new Student("暮暮",20,4000);//引用数据类型
        fn3(stu);//传递的是地址，按引用传递
        console.log(stu);

        function fn4(arrays){
            arrays[0]=888;
        }
        var arrs=[10,20,30,40];
        fn4(arrs);//数组是一个引用数据类型
        console.log(arrs);
    </script>
</head>
<body>
    
</body>
</html>